import { window } from "vscode";
import { 加载词库 } from "../ctsUtils/loadDict";
import { 保存词典 } from "./saveDictCommand";
export class 清理词典命令_ {
    public static readonly ID = 'ctsscript.清理词典命令_';
    public readonly ID = 清理词典命令_.ID;
    public execute() {
        let 库 = 加载词库();
        库.forEach((v, k) => {
            if (v.译文列表 && v.译文列表.size >= 1 && v.译文列表.size < 5) {
                let 当前值 = 0;
                let 当前键!: string;
                v.译文列表.forEach((vv, kk) => {
                    if (vv >= 当前值) {
                        当前值 = vv;
                        当前键 = kk;
                    }
                });
                if (当前值 && 当前键) {
                    if (当前键 !== k) {
                        v.译文列表 = new Map<string, number>();
                        if (当前键.endsWith("_") && !k.endsWith("_")) {
                            当前键 = 当前键.slice(0, -1);
                        }
                        v.译文列表.set(当前键, 当前值);
                    }
                    else {
                        库.delete(k);
                    }
                }
            }
            else if (v.译文列表 && v.译文列表.size >= 5) {
                库.delete(k);
            }
        });
        保存词典();
        库 = undefined!;
        window.showInformationMessage("词典清理完成!");
    }
}
